package com.yonyou.brigade.third_parties.didi.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.service.IService;
import com.yonyou.brigade.third_parties.didi.model.DiDiUser;

import java.util.List;
import java.util.Map;

/**
 * 滴滴用户 服务
 *
 * @author jiangzhf
 */
public interface IDiDiUserService extends IService<DiDiUser> {

    /**
     * 同步用户信息
     *
     * @param tenant 租户ID
     * @return <code>{"code":"0","message":"用户同步成功！"+erroInfo.toString()}</code>
     */
    Map<String, Object> saveUsers(String tenant);

    /**
     * 滴滴开通时同步用户信息
     *
     * @param tenant 租户ID
     * @param phone  管理员手机号
     */
    void syncUsers4Open(String tenant, String phone);


    /**
     * 向滴滴同步用户
     *
     * @param tenant   租户ID
     * @param diDiUser 滴滴用户
     */
    void addSingleUser(String tenant, DiDiUser diDiUser);

    /**
     * 根据手机号查询滴滴用户
     *
     * @param tenant 租户ID
     * @param phone  手机号
     * @return
     */
    JSONObject querySingleUser(String tenant, String phone);

    /**
     * 修改用户
     *
     * @param tenant   租户ID
     * @param diDiUser 滴滴用户
     */
    void updateUser(String tenant, DiDiUser diDiUser);

    /**
     * 删除用户
     *
     * @param tenant       租户ID
     * @param didiUserList 手机号
     */
    void deleteUsers(String tenant, List<DiDiUser> didiUserList);

    /**
     * 获取滴滴企业版H5 URL并且会触发单个用户的同步及变更
     *
     * @param tenant 租户ID
     * @param org    租户PK
     * @param phone  用户手机号
     * @return String 滴滴企业版H5地址 无单点
     */
    String getH5Url(String tenant, String org, String phone);
}
